################# PARAMETERS
param n;	# number of the agents (households)
param G;	# cost of the good
param alpha_mean;
param y_mean;
param alpha_variance;
param y_variance;
param alpha{1..10}:= Normal (alpha_mean, alpha_variance) >=0, <=1;
param y{1..10}:= Normal (y_mean, y_variance) >=0; # endowment
################# VARIABLES
var x{1..n} >=0;	# contribution/tax
var u{1..n};		# utility
var e{1..n};		# utility improvement
var c{1..n} >=0;	# private constumption
var z >=0;	
var Pg >= 1, <=1;
################# CONSTRAINTS
subject to util {i in 1..n}:
	u[i] = c[i] + alpha[i] * Pg * G;
subject to provide_good:
	sum{i in 1..n} x[i] = Pg * G;
subject to budgets {i in 1..n}:
	y[i] = x[i] + c[i];
subject to ut_improv {i in 1..n}:
	e[i] = u[i] - y[i];
